Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Lima 2 Challenger Mouilleron-Le-Captif Challenger Roanne Challenger Grodzisk Mazowiecki Challenger Monza Challenger BNP Paribas Nordic Open - Stockholm Italy F28 Italy #4-w3 Croatia #1-w2 Italy F10 Italy F17 Italy F18 Italy F21 Italy F34 Great Britain #4-w1 Great Britain #4-w2 Italy F4 Croatia #1-w2 Croatia #1-w4 Italy F11 Italy F13 Bosnia/Herzegovina F3 Italy F18 Italy F20 Italy F23 Italy F24 Italy F25 Italy F26 Switzerland F6 Italy F4 Croatia F3 Romania F4 Slovenia F1 Slovenia F2 Italy F18 Italy F19 Italy F20 Italy F21 Italy F22 Italy F23 Italy F24 Italy F25 Italy F26 Austria F9 Austria F10 Austria F11 Italy F31 Italy F32 Italy F34 Chile F1 Chile F2 Chile F3 Iran F4 Italy F3 Croatia F3 Croatia F4 Italy F10 Italy F11 Italy F12 Hungary F2 Hungary F3 Bulgaria F4 Italy F17 Italy F18 Italy F19 Italy F20 Italy F22 Italy F23 Lithuania F1 Lithuania F2 Germany F17 Italy F32 Italy F33 Morocco F7 Spain F40 Austria F3 Italy F1 New Zealand F1 New Zealand F2 New Zealand F3 Croatia F5 Italy F7 Italy F8 Romania F2 Slovenia F1 Iran F3 Italy F2 Tunisia F1 Italy F14 Italy F15 Austria F6 Italy F24 Austria F8 Greece F1 Italy F31 Italy F30 Italy F32 Great Britain F15 Usa F2 Usa F3 Egypt F2 Croatia F1 Croatia F2 Croatia F3 Italy F5 Italy F6 Usa F11 Italy F12 Italy F13 Italy F18 Italy F22 Great Britain F16 Morocco F4 Italy F16 Italy F22 Morocco F8 USA F30 USA F31 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Great Britain F7 Italy F27 France F23 Great Britain F10 Italy F1 Israel F1 Israel F2 Croatia #1-w1 Croatia #1-w3 Israel F4 Italy #4-w1 Italy #4-w2 Italy F17 China F4 Italy F33 Italy F26 Italy F34 Italy F27 Croatia F6 Italy F29 Great Britain #4-w3 Great Britain #4-w4 Italy F13 Italy F14 France F12 Italy F23 Italy F24 Italy F25 France F1 Italy F3 Austria F7 Italy F27 Croatia F6 Italy F35 Italy F37 Tunisia F4 (Hammamet) Italy F2 (Trento) Italy F4 (Sondrio) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Tunisia F15 (Hammamet) Italy F13 (Vigevano) Italy F16 (Padova) Spain F18 (Palma del Rio) Portugal F9 (Setubal) Austria F2 (Kramsach) Switzerland F5 (Sion) Sweden F3 (Jonkoping) Sweden F4 (Falun) Greece F6 (Heraklion) Israel F15 (Meitar) Finland F4 (Helsinki) Israel F16 (Ramat Hasharon) Hong Kong F6 (Hong Kong) France F3 (Veigy-Foncenex) Great Britain F1 (Glasgow) Croatia F1 (Rovinj) Croatia F2 (Porec) Croatia F3 (Opatija) Portugal F1 Italy F10 (Casale Monferrato) Italy F13 (Padova) Italy F20 Italy F3 Austria F2 Bergamo Challenger Orbetello Challenger Meknes Challenger Ljubljana Open 2008 - Ljubljana 2nd Campionati Internazionali di Tennis Del'Umbria - Todi Wolfsburg Challenger Todi Challenger Rabat Challenger Alessandria Challenger Palermo Challenger Courmayeur Challenger Casablanca Challenger Rimouski Challenger Caltanissetta Challenger Barletta Challenger Trani Challenger Cordenons Challenger Como Challenger Architect Open - Budapest Furth Challenger Sir Supermercati - Rome Bogota Challenger Guayaquil Challenger Tampere Challenger Casablanca Challenger Napoli Challenger Monza Challenger Braunschweig Challenger Orbetello Challenger Cordenons Challenger San Benedetto Challenger - San Benedetto Trnava Challenger Sacramento Challenger Kos Succhetti Tennis Cup - Cordenons Yokohama Challenger Genova Open Challenger - Genova Sao Paulo Challenger Tunis Challenger Prague Challenger Kosice Challenger Portoroz Challenger Guimaraes Challenger St. Remy Challenger Istanbul Challenger Rennes Challenger Kazan Challenger Eckental Challenger Andria Challenger Bergamo Challenger Astana Challenger Mersin Challenger Mestre Challenger Padova Challenger Scheveningen Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Meknes Challenger Napa Challenger Sacramento Challenger Helsinki Challenger Raanana Challenger Napoli Challenger Turin Challenger Vicenza Challenger Perugia Challenger Braunschweig Challenger Meknes Challenger Todi Challenger Rome Challenger Mons Challenger Brescia Challenger Bangkok Challenger Jonkoping Challenger Raanana Challenger Barletta Challenger Aix En Provence Challenger Poznan Challenger Bordeaux Challenger Mestre Challenger Prostejov Challenger Tampere Challenger Manerbio Challenger Como Challenger St. Remy Challenger Banja Luka Challenger Rome Challenger Dallas Challenger Barletta Challenger Mestre Challenger Poprad Tatry Challenger Bastad Challenger Cortina Challenger Cordenons Challenger Manerbio Challenger Stockton Challenger Ortisei Challenger Rennes Challenger Izmir Challenger Alicante Challenger Tunis Challenger Francavilla Challenger Glasgow Challenger Aix En Provence Challenger Segovia Challenger Cordenons Challenger Sibiu Challenger Ismaning Challenger Brest Challenger Bangalore Challenger Da Nang Challenger Phoenix Challenger Aix En Provence Challenger Kazan Challenger Recanati Challenger Nur-Sultan Challenger Portoroz Challenger Nur-Sultan Challenger Ostrava Challenger Biella 5 Challenger Aix En Provence Challenger Cassis Challenger Orleans Challenger Furth Challenger Caltanissetta Challenger Aix En Provence Challenger Turin Challenger Phoenix Challenger St. Brieuc Challenger Ostrava Challenger Chennai Challenger Vicenza Challenger Budapest Challenger Rome Challenger Bergamo Challenger Napoli Challenger Bangkok Challenger Gwangju Challenger Biella Challenger Tiburon Challenger Cary Challenger Biella Challenger Noumea Challenger Andria Challenger Happy Valley Challenger Bergamo Challenger Padova Challenger Morelos Challenger Meknes Challenger Vercelli Challenger Aix En Provence Challenger Rome Challenger Rome Challenger Bordeaux Challenger Mestre Challenger Moscow Challenger Ilkley Challenger Prostejov Challenger San Benedetto Challenger Aptos Challenger Portoroz Challenger Vancouver Challenger Cordenons Challenger Alessandria Challenger Istanbul Challenger Izmir Challenger San Benedetto Challenger Rijeka Challenger Bratislava Challenger Lyon Challenger Lille Challenger St. Brieuc Challenger Chicago Challenger Orleans Challenger Andria Challenger Tampere Challenger Kazan Challenger Kobe Challenger Ludwigshafen Challenger Perugia Challenger San Benedetto Challenger Recanati Challenger Biella 4 Challenger Manama Challenger Mauthausen Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Como Challenger Toulouse Challenger Ljubljana Challenger Tempe Challenger Genoa Open - Genova Portoroz Challenger Genova Challenger Oeiras 3 Challenger Sassuolo Challenger Porto Challenger Bratislava Challenger Bangalore Challenger Andria Challenger Barranquilla Challenger San Luis Potosi Challenger Bergamo Challenger Leon Challenger Padova Challenger St. Brieuc Challenger Tunis Challenger Como Challenger Barcelona Challenger Bratislava Challenger Mouilleron-Le-Captif Challenger Caltanissetta Challenger Pune Challenger Rennes Challenger Bergamo Challenger Pau Challenger Salzburg Challenger Drummondville Challenger Ostrava Challenger Rome Challenger Heilbronn Challenger Lyon Challenger Tampere Challenger San Marino Challenger Mallorca Challenger Prague Challenger Bratislava Challenger Ortisei Challenger Biella 1 Challenger Biella 2 Challenger Todi Challenger Split 2 Challenger Rome 1 Challenger Eckental Challenger Prague Challenger Biella 6 Challenger Nottingham 1 Challenger Lyon Challenger Porto Challenger Braunschweig Challenger Todi Challenger Pozoblanco Challenger Segovia Challenger Verona Challenger Mallorca Challenger Biel Challenger Ortisei Challenger Forli 4 Challenger Forli 5 Challenger Marbella Challenger Kenitra Challenger Bordeaux Challenger Francavilla Challenger Forli 6 Challenger Tulln Challenger Matsuyama Challenger Kobe Challenger Maia Challenger Mohammedia Challenger Mallorca Challenger Seville Challenger St. Tropez Challenger Quimper Challenger Phoenix Challenger New Delhi Challenger Yokohama Challenger Zug Challenger Naples Challenger Oeiras 4 Challenger Oeiras 5 Challenger Sassuolo Challenger Szczecin Challenger Nur-Sultan Challenger San Marino Challenger Samarkand Challenger Brest Challenger Hamburg Challenger Bratislava Challenger Ortisei Challenger Canberra Challenger Noumea Challenger Bergamo Challenger Pau Challenger Trani Challenger Trieste Challenger Rijeka Challenger Aix En Provence Challenger Biella Challenger Split Challenger Istanbul Challenger Cary Challenger Quimper 2 Challenger Rome Challenger Split 1 Challenger Zagreb Challenger St. Tropez Challenger Napoli Challenger Mouilleron-Le-Captif Challenger Alphen Challenger Alicante Challenger Cortina Challenger San Francisco Challenger Noumea Challenger Kenitra Challenger PBZ Zagreb Indoors - Zagreb ABN AMRO World Tennis Tournament - Rotterdam Credit Agricole Suisse Open - Gstaad Vicenza Challenger Caltanissetta Challenger Milan Challenger Genova Challenger Glasgow Challenger Dallas Challenger Quimper Challenger Kazan Challenger Arad Challenger Qatar ExxonMobil Open - Doha Rennes Challenger Ortisei Challenger Meknes Challenger Drummondville Challenger Francavilla Challenger Apia International - Sydney PBZ Zagreb Indoors - Zagreb Poznan Challenger Lisbon Challenger Braga Challenger ABN AMRO World Tennis Tournament - Rotterdam Toyota Challenger Dubai Duty Free Tennis Championships - Dubai Claro Open Colombia - Bogota Salzburg Challenger Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Heilbronn Challenger Tiburon Challenger Ecuador Open - Quito Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Mersin Challenger Memphis Open - Memphis Santos Challenger Ismaning Challenger Gazprom Hungarian Open - Budapest Intrum Stockholm Open - Stockholm St. Petersburg Open - St. Petersburg Nordea Open - Bastad Tata Open Maharashtra - Pune Nordea Open - Bastad Swiss Open - Gstaad Stockholm Open - Stockholm Banja Luka Open - Banja Luka Nordea Open - Bastad Argentina Open - Buenos Aires Rome Challenger Mercedes Cup - Stuttgart Orlando Challenger Bratislava Challenger Poprad Tatry Challenger Ortisei Challenger Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad Helsinki Challenger Tata Open Maharashtra - Pune Cherbourg Challenger Hamburg European Open - Hamburg Kazan Challenger Sardegna Open - Cagliari Emilia-Romagna Open - Parma Astana Open - Nur-Sultan Braunschweig Challenger Poznan Challenger Rakuten Japan Open - Tokyo Prague Challenger Eckental Challenger Istanbul Challenger Ljubljana Challenger Ortisei Challenger Nordea Open - Bastad Barcelona Open BancSabadell - Barcelona BMW Open - Munich Ortisei Challenger Shanghai Challenger Pune Challenger Singapore Challenger Studena Croatia Open - Umag Banja Luka Challenger Madrid Challenger Medellin Challenger Bastad Challenger Cassis Challenger PBZ Zagreb Indoors - Zagreb Cordenons Challenger Andria Challenger Budapest Challenger Anning Challenger Credit Agricole Suisse Open - Gstaad Como Challenger Bordeaux Challenger If Stockholm Open - Stockholm Erste Bank Open - Vienna Ostrava Challenger Aircel Chennai Open - Chennai Tiburon Challenger Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Alphen Challenger Stockholm Open - Stockholm Caltanissetta Challenger Orleans Challenger Credit Agricole Suisse Open - Gstaad Cherbourg Challenger Mouilleron-Le-Captif Challenger Todi Challenger Bangkok Challenger Tiriac Open - Bucharest Aircel Chennai Open - Chennai Hamburg Open - Hamburg Vicenza Challenger Mestre Challenger Barcelona Open BancSabadell - Barcelona Rennes Challenger Biella Challenger Bastad Challenger Tunis Challenger Bet-at-home Open - Hamburg Tenerife Challenger If Stockholm Open - Stockholm Istanbul Challenger Forli 2 Challenger Forli 3 Challenger Forli 1 Challenger Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril Vicenza Challenger SkiStar Swedish Open - Bastad Alicante Challenger Konzum Croatia Open - Umag Mohammedia Challenger Alicante Challenger Rennes Challenger Guayaquil Challenger Segovia Challenger Vicenza Challenger Istanbul Challenger Kremlin Cup - Moscow Genova Challenger TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Helsinki Challenger Vilnius Challenger Prague II Challenger Mallorca Championships - Mallorca Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Ismaning Challenger Parma Challenger Prostejov Challenger Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Marbella Challenger Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Salzburg-Anif Challenger Porto 2 Challenger Barletta Challenger Seville Challenger Intrum Stockholm Open - Stockholm Maia 2 Challenger Cary Challenger Seoul Challenger Murray River Open - Melbourne Yokkaichi Challenger Mallorca Championships - Mallorca Helsinki Challenger Andria Challenger Citi Open - Washington Singapore Tennis Open - Singapore Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Forte Village Sardegna Open - Sardinia BMW Open - Munich Heilbronn Challenger Perugia Challenger Plava Laguna Croatia Open - Umag Korea Open - Seoul Braunschweig Challenger Malaga Challenger Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Stockholm Open - Stockholm Bad Waltersdorf Challenger Open 13 Provence - Marseille Montevideo Challenger Seoul Challenger Maia Challenger Taipei Challenger Citi Open - Washington Ostrava Challenger Mauthausen Challenger If Stockholm Open - Stockholm Suisse Open - Gstaad If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Naples Challenger AEGON International - Eastbourne Swiss Open - Gstaad Abierto Mexicano - Los Cabos Irving Challenger Ottignies-Louvain-la-Neuve Challenger Sophia Antipolis Challenger Francavilla Challenger Braunschweig Challenger Bordeaux Challenger Cordenons Challenger Valencia Challenger Manama Challenger Turin Challenger SkiStar Swedish Open - Bastad Vancouver Challenger Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome Split Challenger Sony Open Tennis - Miami Zadar Challenger Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Vegeta Croatia Open - Umag Miami Open - Miami Rogers Cup - Toronto Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells U.S. Open - New York Nordea Open - Bastad BNP Paribas Open - Indian Wells Miami Open - Miami Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London ABN AMRO World Tennis Tournament - Rotterdam BNP Paribas Open - Indian Wells Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai U.S. Open - New York Australian Open - Melbourne BNP Paribas Nordic Open - Stockholm Sony Ericsson Open - Miami U.S. Open - New York Australian Open - Melbourne Miami Open - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Wimbledon - London Miami Open - Miami Miami Open - Miami Miami Open - Miami Miami Open - Miami U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Miami Open - Miami BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open - Melbourne Qatar ExxonMobil Open - Doha U.S. Open - New York Brisbane International - Brisbane Mercedes Cup - Stuttgart Hall of Fame Tennis Championships - Newport Internazionali BNL d'Italia - Rome French Open - Paris French Open - Paris Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Finals, Group B Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Wimbledon (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open - Paris Mutua Madrid Open - Madrid Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London All Lower level tournaments Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York BNP Paribas Open - Indian Wells Wimbledon - London French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London Orleans Challenger Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Australian Open (juniors) Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group A, Bologna Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group I, 1R, SWE-IND 4-0 U.S. Open (juniors)